<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
 </head>
 <body>
	<script>

	
		var randomArray = function (arr,len){
			var arr1 = []
			
			for(var i = 0;i<len;i++){
				var index = Math.floor(Math.random() * arr.length)

				var res = arr.splice(index,1)
				arr1.push(res[0])
			
			}




			return arr1;
		}

		//console.log(randomArray([
		  //'小明', '小红', '小绿', '小白', '小黄', '小蓝', '小黑', '小青'
		//], 8))


		//描述：给定一个非空整数数组，除了某个元素只出现一次以外，其余每个元素均出现两次。找出那个只出现了一次的元素。
		//示例 1:
		//输入: singleNumber( [2,2,1] )
		//输出: 1

		//示例 2:
		//输入: singleNumber([4,1,2,1,2])
		//输出: 4

		function singleNumber(arr){
			for(var i = 0;i<arr.length;i++){
				if(arr.indexOf(arr[i])  ===  arr.lastIndexOf(arr[i]))
					return arr[i]
			}
		}

		//console.log(singleNumber([4,1,2,1,2]))
		

		//2.封装一个chunk(arr,size)的函数，把该数组arr按照指定的size分割成若干个数组块。
		//例如：chunk([1,2,3,4],2) 返回结果:[[1,2],[3,4]]
	    //  chunk([1,2,3,4,5],2) 返回结果:[[1,2],[3,4],[5]]
		function chunk(arr,len){
			//var arr1 = []
				
			//while(arr.length>0){
				//arr1.push(arr.splice(0,len))
			
			//}	
			// arr1;

			var arr1 = []
			for(var i = 0;i<arr.length;i+=len){
				arr1.push(arr.slice(i,i+len))
			}
			return arr1;
		}

		//console.log(chunk([1,2,3,4,5],2))


		/*3. 创建一个函数 第一个参数是数组,第二个参数是数字,根据第二个参数,返回的值是最低索引。
		例如，getIndexToIns([1,2,3,4], )应该返回1，因为第二个参数大于1（索引0），但小于2（索引1）。
		同样，getIndexToIns([20,3,5], 19)应该返回2,因为一旦数组已经排序，它将看起来像[3,5,20]并且19小于20（索引2）大于5（索引1）。
		再例如
		getIndexToIns([10, 20, 30, 40, 50], 35)应该返回3。
		getIndexToIns([10, 20, 30, 40, 50], 30)应该返回2。
		getIndexToIns([40, 60], 50)应该返回1。*/
		
		function getIndexToIns(arr,data){
			arr.push(data)
			arr.sort(function (a,b) {return a-b})
			return arr.indexOf(data)
		}



		//console.log(getIndexToIns([1,2,3,4], 1.5))
			

			/*1.如果字符串（第一个参数）长于给定的最大字符串长度（第二个参数），则截断该字符串。返回带有...结尾的截断字符串。	
			例如:
			truncateString("A-tisket a-tasket A green and yellow basket", 8)应该返回“A-tisket ......”。
			truncateString("Peter Piper picked a peck of pickled peppers", 11)应该归还“Peter Piper ......”。
			truncateString("A-tisket a-tasket A green and yellow basket", "A-tisket a-tasket A green and yellow basket".length)应该返回“A-tisket a-tasket A green and yellow basket”。
			truncateString("A-tisket a-tasket A green and yellow basket", "A-tisket a-tasket A green and yellow basket".length + 2)应该返回“A-tisket a-tasket A green and yellow basket”。*/

			function truncateString(str,len){
				return len >=str.length ? str : str.slice(0,len) +"......"
			}

			//console.log(truncateString("A-tisket a-tasket A green and yellow basket", 8))


			//2.封装一个boun（arr）的函数,实现如下功能：删除数组中的所有的假值。
			//例如：boun ([7, "ate", "", false, 9]); //返回结果：[7, "ate",9]

			var boun = function (arr){

				return arr.filter(function(item){
					return !!item
				})
			}
		  
			console.log(boun ([7, "ate", "", false, null,0,NaN,undefined, 9]))


			//3. 如果数组的第一个元素中的字符串包含数组第二个元素中字符串的所有字母，则返回true。
			//例如，["hello", "Hello"]应返回true，因为第二个字符串中的所有字母都出现在第一个字母中，忽略大小//写。
			//参数["hello", "hey"]应该返回false，因为字符串“hello”不包含“y”。
			//最后，["Alien", "line"]应该返回true，因为“line”中的所有字母都出现在“Alien”中。
			function fun(arr){
				var str1 = arr[0].toUpperCase(),
					str2 = arr[1].toUpperCase();


				for(var i = 0;i<str2.length;i++){
						str2[i]
					if(str1.indexOf(str2[i]) === -1){
						return false
					}
				}



				return true;
			}
			
			console.log(fun(["hel1lo", "Hel1lo"]))

	</script>
 </body>
</html>
